// pages/cart/cart.js
import { getCartList, updateCartNum, removeCart, selectall, selectone } from './../../api/cart'
import Dialog from './../../miniprogram_npm/@vant/weapp/dialog/dialog'; // 注意路径
Page({

  /**
   * 页面的初始数据
   */
  data: {
    cartList: [],
    flag: true,
    totalPrice: 0,
    totalNum: 0,
    checked: false
  },
  selectOneFlag (event) {
    selectone({
      cartid: event.target.dataset.cartid,
      flag: event.detail
    }).then(() => {
      this.getData()
    })
  },
  updateAllFlag (event) {
    selectall({
      userid: wx.getStorageSync('userid'),
      type: event.detail
    }).then(() => {
      this.getData()
    })
  },
  deleteItem (event) {
    // Dialog.confirm({
    //   message: '确定删除吗',
    // })
    //   .then(() => {
    //     // on confirm
    //     removeCart({
    //       cartid: event.target.dataset.cartid
    //     }).then(() => {
    //       this.getData()
    //     })
    //   })
    //   .catch(() => {
    //     // on cancel
    //   });

    wx.showModal({
      content: '确定删除吗',
      success: (res) => {
        if (res.confirm) {
          console.log('用户点击确定')
          removeCart({
            cartid: event.target.dataset.cartid
          }).then(() => {
            this.getData()
          })
        } else if (res.cancel) {
          console.log('用户点击取消')
        }
      }
    })
    
    
  },
  onNumChange (event) {
    console.log({
      cartid: event.target.dataset.cartid,
      num: event.detail
    })
    updateCartNum({
      cartid: event.target.dataset.cartid,
      num: event.detail
    }).then(() => {
      // console.log('1111')
      this.getData()
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.getData()
  },
  getData () {
    const userid = wx.getStorageSync('userid')
    const isLogin = wx.getStorageSync('isLogin')
    if (isLogin) {
      getCartList({ userid }).then(res => {
        if (res.data.code === '10020') {
          wx.showToast({
            title: '购物车为空',
            icon: 'none'
          })
          this.setData({
            flag: true
          })
          wx.setNavigationBarTitle({
            title: '购物车'
          })
        } else {
          const totalPrice = res.data.data.reduce((sum, item) => {
            return item.flag ? sum + item.originprice * item.num : sum + 0
          }, 0)
          const totalNum = res.data.data.reduce((sum, item) => {
            return item.flag ? sum + item.num : sum + 0
          }, 0)
          const checked = res.data.data.every(item => {
            return item.flag
          })
          this.setData({
            cartList: res.data.data,
            totalPrice,
            totalNum,
            checked,
            flag: false
          })
          wx.setNavigationBarTitle({
            title: totalNum > 0 ? '购物车 - ' + totalNum : '购物车'
          })
        }
      })
    } else {
      wx.navigateTo({
        url: '/pages/login/login',
      })
    }
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    this.getData()
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})